package produce.controller;

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author Kevin
 * @date 2023/6/11 13:11
 * @description 发布订阅模式
 * 订阅了该交换机的消费者都会收到消息
 **/
@RequestMapping("/pub")
@RestController
public class PubsubController {

  @Autowired
  private RabbitTemplate rabbitTemplate;

  /**
   * 发布消息，需要指定交换机
   * @param msg 接收到的消息
   * @return
   */
  @GetMapping
  public String send(String msg){

    // 第一次为交换机名 第二个为路由key 第三个为消息 发布订阅模式无需路由
    rabbitTemplate.convertAndSend("pubSub-exchange","",msg);

    return "发送发布订阅模式消息成功";
  }

}
